package is.origo.portlet.events;

import javax.portlet.*;
import javax.servlet.http.Cookie;
import java.security.Principal;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Map;

/**
 * @author vidar.svansson
 */
public class SimpleEventRequest
        implements EventRequest {

    private PortletRequest request;
    private Event event;    

    public SimpleEventRequest(PortletRequest request, Event event) {
        this.request = request;
        this.event = event;
    }

    public Event getEvent() {
        return event;
    }

    public String getMethod() {
        throw new UnsupportedOperationException("not implemented yet");
    }

    public boolean isWindowStateAllowed(WindowState windowState) {
        return request.isWindowStateAllowed(windowState);
    }

    public boolean isPortletModeAllowed(PortletMode portletMode) {
        return request.isPortletModeAllowed(portletMode);
    }

    public PortletMode getPortletMode() {
        return request.getPortletMode();
    }

    public WindowState getWindowState() {
        return request.getWindowState();
    }

    public PortletPreferences getPreferences() {
        return request.getPreferences();
    }

    public PortletSession getPortletSession() {
        return request.getPortletSession();
    }

    public PortletSession getPortletSession(boolean b) {
        return request.getPortletSession(b);
    }

    public String getProperty(String s) {
        return request.getProperty(s);
    }

    public Enumeration getProperties(String s) {
        return request.getProperties(s);
    }

    public Enumeration getPropertyNames() {
        return request.getPropertyNames();
    }

    public PortalContext getPortalContext() {
        return request.getPortalContext();
    }

    public String getAuthType() {
        return request.getAuthType();
    }

    public String getContextPath() {
        return request.getContextPath();
    }

    public String getRemoteUser() {
        return request.getRemoteUser();
    }

    public Principal getUserPrincipal() {
        return request.getUserPrincipal();
    }

    public boolean isUserInRole(String s) {
        return request.isUserInRole(s);
    }

    public Object getAttribute(String s) {
        return request.getAttribute(s);
    }

    public Enumeration getAttributeNames() {
        return request.getAttributeNames();
    }

    public String getParameter(String s) {
        return request.getParameter(s);
    }

    public Enumeration getParameterNames() {
        return request.getParameterNames();
    }

    public String[] getParameterValues(String s) {
        return request.getParameterValues(s);
    }

    public Map getParameterMap() {
        return request.getParameterMap();
    }

    public boolean isSecure() {
        return request.isSecure();
    }

    public void setAttribute(String s, Object o) {
        request.setAttribute(s, o);
    }

    public void removeAttribute(String s) {
        request.removeAttribute(s);
    }

    public String getRequestedSessionId() {
        return request.getRequestedSessionId();
    }

    public boolean isRequestedSessionIdValid() {
        return request.isRequestedSessionIdValid();
    }

    public String getResponseContentType() {
        return request.getResponseContentType();
    }

    public Enumeration getResponseContentTypes() {
        return request.getResponseContentTypes();
    }

    public Locale getLocale() {
        return request.getLocale();
    }

    public Enumeration getLocales() {
        return request.getLocales();
    }

    public String getScheme() {
        return request.getScheme();
    }

    public String getServerName() {
        return request.getServerName();
    }

    public int getServerPort() {
        return request.getServerPort();
    }

    public String getWindowID() {
        return request.getWindowID();
    }

    public Cookie[] getCookies() {
        return request.getCookies();
    }

    public Map getPrivateParameterMap() {
        return request.getPrivateParameterMap();
    }

    public Map getPublicParameterMap() {
        return request.getPublicParameterMap();
    }
}